package work.month05.day27;

import java.util.Random;

/**
 * @Date 2020/05/27
 * @author 王光浩
 * @Introduction 测试类
 */
public class Main {

	public static void main(String[] args) {
		Random rand = new Random();

		Machine m = new Aircraft();
		outer: while (true) {
			int op = rand.nextInt(4); // 随机产生 [ 0 , 4 ) 之间的数字
			switch (op) {
			case 0:
				// 需要判断能量是否足以完成 陆地驾驶 操作，若不足就跳出循环
				if (m.getterEnergy() >= 10) {
					System.out.println("在陆地上奔跑一次");
					Roadable r = (Roadable) m;
					r.run();
				} else {
					System.out.println("能量不足以在陆地上奔跑");
					break outer;
				}
				break;
			case 1:
				// 需要判断能量是否足以完成 水中航行 操作，若不足就跳出循环
				if (m.getterEnergy() >= 15) {
					System.out.println("在水中航行一次");
					Voyageable r = (Voyageable) m;
					r.voyage();
				} else {
					System.out.println("能量不足以在水中航行");
					break outer;
				}
				break;
			case 2:
				// 需要判断能量是否足以完成 空中飞行 操作，若不足就跳出循环
				if (m.getterEnergy() >= 25) {
					System.out.println("在空中飞行一次");
					Flyable r = (Flyable) m;
					r.fly();
				} else {
					System.out.println("能量不足以在空中飞行");
					break outer;
				}
				break;
			default:
				System.out.println("不支持的操作");
				// 不支持的操作
			}
		}
		System.out.println("最后剩余的能量："+m.getterEnergy());
	}

}
